# coding=utf-8
'''
作    者 : light light22@126.com
创建时间 : 2025-05-20 18:42:24
最后修改 : 2025-06-23 21:33:04
修 改 者 : 北极星光
'''

import os
import markdown
import imgkit
import yaml
from markdown.extensions.nl2br import Nl2BrExtension


def md_to_html(md_text, file_path, welcome_words):
    
    extensions = [
        'markdown.extensions.fenced_code', 'markdown.extensions.tables',
        Nl2BrExtension(), 'markdown.extensions.sane_lists'
    ]

    html_content = markdown.markdown(md_text,
                                     extensions=extensions,
                                     output_format='html5',
                                     tab_length=2)

    # 构建完整HTML文档
    full_html = f'''<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>星光AI小助手</title>
    <link rel="stylesheet" href="../static/example.css">
</head>
<body>
   <div class="header">
      <h1>{welcome_words}</h1>
   </div>
   <div class="body">

      <pre class="card">
         <article class="markdown-content">
            {html_content}
         </article>
      </pre>
   </div>
   <div class="footer">
    <h3>Creat By Light-ChatBot &#169 北极星光</h3>
  </div>
</body>
</html>'''

    # 保存html文件
    with open(file_path, 'w', encoding='utf-8') as f:
        f.write(full_html)

    return file_path


def html_to_img(html_path, img_path):
    # 定义imgkit选项，例如设置图片宽度、高度等
    options = {'width': 900, 'enable-local-file-access': None}

    # 将HTML文件转换为图片
    imgkit.from_file(html_path, img_path, options=options)

    return img_path


# 示例用法
if __name__ == '__main__':
#     md_text = '''选择显卡需要根据你的具体需求（如游戏、创作、AI计算等）和预算来决定。以下是2023年主流显卡的推荐指南，分为不同价位和用途：

# ---

# ### **一、高端旗舰（4K游戏/8K视频/3D渲染/AI训练）**
# 1. **NVIDIA RTX 4090**  
#    - 当前消费级性能天花板，24GB GDDR6X显存，DLSS 3.0加持。  
#    - 适合8K游戏、影视渲染、Stable Diffusion等AI任务。  
#    - 缺点：功耗高（450W+），价格昂贵（约¥12,000起）。

# 2. **AMD RX 7900 XTX**  
#    - 性能接近RTX 4080，24GB GDDR6显存，性价比更高（约¥7,000）。
#    - 适合高分辨率游戏，但光追和AI性能弱于N卡。

# ---

# 如果需要更具体的推荐，可以告诉我你的：
# - 预算范围
# - 主要用途（如游戏、AI、剪辑等）
# - 当前其他硬件配置（CPU、电源等）

# 我会帮你缩小选择范围！
# '''
    md_text = '![美女](http://qianfan-modelbuilder-img-gen.bj.bcebos.com/irag-1.0/3d1b99adbf65479392b56405d611adcc/3d1b99adbf65479392b56405d611adcc/img-a6ffe67c-3cac-4d5d-45bd-d3db42ecfe3b.png?authorization=bce-auth-v1%2F50c8bb753dcb4e1d8646bb1ffefd3503%2F2025-06-14T17%3A55%3A53Z%2F86400%2Fhost%2F28b74b322bbc1b1eb8e82b495fa5f96dd3920d7805f810c4e733a924c511cbb8)'
    md_to_html(md_text, 'output/output.html')
    html_to_img('output/output.html', 'output/output.jpg')
